var cookiesModule = { //Variables utilisées par le modules datas : { //Liste des functions à appeler lorsque l'utilisateur modifie sont choix vis à vis des cookies observers : new Array() }, //Liste des status possibles status : { //L'utilisateur a explicitement accepté l'utilisation des cookies allow : function() { return cookieconsent.status.allow }, //L'utilisateur n'a pas donné son consentement //-> à considérer comme identique à deny puisque nous sommes dans le mode ("opt-in") dismiss : function() { return cookieconsent.status.dismiss }, //L'utilisateur a explicitement refusé l'utilisation des cookies deny : function() { return cookieconsent.status.deny } }, //Fonction permettant d'ouvrir la popup de choix de politique de cookies si elle est fermée, ou //de la fermer si elle est ouverte toggleChoicePopup : function() { if(typeof cookiesModule.datas.popup !== "undefined") { if(cookiesModule.datas.popup.isOpen()) { cookiesModule.datas.popup.close(); } else { cookiesModule.datas.popup.open(); } } }, //Fonction retournant la politique de cookies actuelle choisie par l'utilisateur getStatus : function() { if(typeof cookiesModule.datas.popup !== "undefined") { var status = cookiesModule.datas.popup.getStatus(); if(typeof status !== "undefined") { return status; } } return cookiesModule.status.dismiss(); }, //Permet d'enregistrer un "listener" (fn) sur le changement de la politique de cookies //-> La paramètre fn une fonction à un paramètre : function(status) { /* Do something */ } //-> Le listener fn sera appelée dès que la politique de cookies sera modifié par l'utilisateur //-> La fonction startListening retourne la politique de cookies actuelle startListening : function(fn) { cookiesModule.datas.observers.push(fn); return cookiesModule.getStatus(); }, //Permet de retirer un "listener" afin de ne plus être prévenu lorsque la politique de cookies change stopListening : function(fn) { cookiesModule.datas.observers = cookiesModule.datas.observers.filter( function(item) { if (item !== fn) { return item; } } ); }, //Fonction utilitaire permettant de notifier à tous les listener que la politique de cookies à changée //Sa nouvelle valeure est newConsent notifyConsentChange : function(newConsent) { cookiesModule.datas.observers.forEach(function(observer) { observer.call(window, newConsent); }); }, //Fonction initialisant la popup de sélection de politique de cookies bootstrap : function(cookieName, cookieDomain, cookieMsg, dismissMsg, allowMsg, linkMsg, linkHref) { window.addEventListener("load", function() { window.cookieconsent.initialise({ "cookie" : { "name" : (typeof cookieName !== "undefined" && cookieName !== "") ? cookieName : "cookieconsent_status", "path" : "/" // "domain" : cookieDomain }, "position": "bottom-left", "type": "opt-in", "layout" : "fc-layout", "layouts" : { "fc-layout" : '
{{messagelink}}{{compliance}}
', }, "elements" : { "header" : '{{header}} ', "message" : '
{{message}}
', "messagelink" : '
{{message}} {{link}}
', "dismiss" : '{{dismiss}}', "allow" : '{{allow}}', "deny" : '{{deny}}', "link" : '{{link}}', "close" : '{{close}}', "revoke" : '{{revoke}}' }, "content": { "message": cookieMsg, "dismiss": dismissMsg, "allow": allowMsg, "link": linkMsg, "linkTitle" : linkMsg, "href" : (typeof linkHref !== "undefined" && linkHref !== "") ? linkHref : "https://www.famillecorbet.fr/cookies/" }, "revokable" : false, "revokeBtn" : '', "onInitialise" : cookiesModule.notifyConsentChange, "onStatusChange" : cookiesModule.notifyConsentChange, "onRevokeChoice" : function() { cookiesModule.notifyConsentChange(cookiesModule.getStatus()); } }, function(popup) { cookiesModule.datas.popup = popup; // On re-notify après la définition du popup sinon le notify précédent est fait sur un popup undefined -> donc auto 'dismiss' sur l'autorisation des cookies cookiesModule.notifyConsentChange(); }) }); } }